home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / apl / gview120.lzh / gviewsrc.lzh / main.c < prev    next >
C/C++ Source or Header  |  1995-02-27  |  3KB  |  129 lines

  1. /*
  2.     Copyright 1995 Ogasawara Hiroyuki(COR.)
  3. */
  4.  
  5. #include    <corlib.h>
  6. #include    <sys_doslib.h>
  7. #include    "gview.h"
  8.  
  9. #define        PROG    "GView v1.20"
  10.  
  11. int        WindowHeapSize= 1024*0;
  12. int        LoadMode= FALSE;
  13. WindowID    Awp;
  14.  
  15. #define        XSIZE    80
  16. #define        YSIZE    20
  17.  
  18. static void
  19. LoadSet( dp, mode )
  20. DrawBuf    *dp;
  21. {
  22.     DrawSetSymbol( dp, 6, 4, mode ? PROG : "Loading .. ",
  23.                     AttrDefault|AttrHighLight, 12 );
  24. }
  25.  
  26. void
  27. GV_FileLoad( fname )
  28. char    *fname;
  29. {
  30.     GVIEW    *gp;
  31.     DrawBuf    dbuf[1];
  32.     int    x, y;
  33.     WindowGetGraphicOffset( &x, &y );
  34.     LoadSet( dbuf, FALSE );
  35.     WindowDraw( Awp, dbuf, 1 );
  36.     if( gp= GV_LoaderExec( fname ) )
  37.         GV_Open( x, y, gp );
  38.     LoadSet( dbuf, TRUE );
  39.     WindowDraw( Awp, dbuf, 1 );
  40. }
  41.  
  42. static int
  43. EventExec( wp, info )
  44. WindowID    wp;
  45. EventInfo    *info;
  46. {
  47.     DrawBuf    dbuf[4];
  48.     switch( info->option ){
  49.         case EventOpen:
  50.             Awp= wp;
  51.             WindowSetEventAttr( wp,  EventOpenON|EventRedrawON
  52.                 |EventCloseON|EventMouseSwitchON|EventIconifyON
  53.                 |EventUserON );
  54.             WindowRedraw( wp );
  55.             return    TRUE;
  56.         case EventIconify:
  57.             IconEnt( wp, PROG, AttrDefault, 12 );
  58.             return    TRUE;
  59.         case EventRedraw:
  60.             DrawSetClear( dbuf, ColorGray );
  61.             LoadSet( dbuf+1, TRUE );
  62.             DrawSetLine( dbuf+2, 1, 1, XSIZE-2, YSIZE-2,
  63.                         ShadowDown, OptionShadow );
  64.             WindowDraw( wp, dbuf, 3 );
  65.             return    TRUE;
  66.         case EventClose:
  67.             WindowClose( wp );
  68.             WindowConnectionClose();
  69.             return    TRUE;
  70.         case EventUser:
  71.             switch( info->ComData ){
  72.             case UserGraphic:
  73.                 GV_UG_Open( info->ComBuffer );
  74.                 info->ComData= -1;
  75.                 return    TRUE;
  76.             case UserString:
  77.             case UserPaste:
  78.                 GV_FileLoad( info->ComBuffer );
  79.                 return    TRUE;
  80.             case UserStrings:
  81.                 GV_FileLoad( *(char**)info->ComBuffer );
  82.                 return    TRUE;
  83.             }
  84.             return    FALSE;
  85.  
  86.         case EventMouseSwitch:
  87.             if( info->LeftON ){
  88.                 ConsoleOpen();
  89.                 ConsolePrint(
  90. "\r\n" PROG " 1995 COR.\r\n"
  91. "------------------------------------------------------------------------\r\n"
  92. "16/256/65536色のマルチ画像ビュアです。このウィンドウはローダーで、ここに\r\n"
  93. "EventUser の UserGraphic や kf からファイルを運ぶと画像の内容を表示する\r\n"
  94. "ことができます。現在 PIC/JPEG/MAG/Pi/HG のロードが可能です。PIC/Piフォー\r\n"
  95. "マットのファイルは自分で展開します。JPEG/MAG/HGはそれぞれ外部のローダー\r\n"
  96. "mag.r,hg.r,jpeged.rを呼び出して展開します。表示した画像は他のウィンドウに\r\n"
  97. "転送したり任意部分の切り出しをしたりできます。\r\n"
  98. "------------------------------------------------------------------------\r\n"
  99.                 );
  100.                 return    TRUE;
  101.             }
  102.             return    FALSE;
  103.     }
  104.     return    FALSE;
  105. }
  106.  
  107.  
  108. void
  109. WindowMain( argc, argv )
  110. char    **argv;
  111. {
  112.     int    x= 200, y= 8;
  113.     if( KoWindowVersionCheck( "2.24+13" ) < 0 ){
  114.         ConsoleAutoPrint( "サーバーのバージョンが古すぎます\n" );
  115.         WindowSendSignal( WindowProcessID, SignalKill, 0 );
  116.         return;
  117.     }
  118.     argc= AnalyzeArgs( argc, argv, &x, &y, NULL, NULL );
  119.     WindowTitleOpen( x, y, XSIZE, YSIZE, NULL, " ",
  120.                         Close|Push|Icon, EventExec );
  121.     for(; --argc ;){
  122.         if( **++argv == '-' ){
  123.         }else{
  124.             GV_FileLoad( *argv );
  125.         }
  126.     }
  127. }
  128.  
  129.